perm filename RUNP2.SAI[PUB,TES]1 blob sn#130590 filedate 1974-11-08 generic text, type T, neo UTF8
00100	BEGOF("RUNP2")
00200	
00300	COMMENT
00400	
00500	         *** Variations at Different Sites are Extensive ***
00600	
00700	;
00800	
00900	PROCEDURES
     

00100	PUBLIC SIMPLE PROCEDURE INTERMEDIATEFILES ;$"#
00200	BEGIN "INTERMEDIATEFILES"
00300	L ← WRITEON(FALSE,IFC TENEX THENC IFILENAME&".FILES" ELSEC "PUPSEQ"&PUIEXT ENDC) ;
00400	OUT(L, TMPFILE&ALTMODE&OUTFILE&ALTMODE&CVSR(DEBUG)&CVSR(ABS(DEVICE))&DELINT&ALTMODE) ;
00500	OUT(L, CVSR(LOFONT)&CVSR(HIFONT)) ; TES 8/24/74 ;
00600	FOR J ← LOFONT THRU HIFONT DO OUT(L, FNTNAME[J]&ALTMODE) ; TES 8/24/74 ;
00700	TES 1/7/74 ;
00800	IFC PARCVER THENC
00900	IF ABS(DEVICE)=XGP THEN
01000		BEGIN
01100		CMDFILE ← NULL ;
01200		FOR J ← 1 THRU HIFONT DO CMDFILE ← CMDFILE &
01300			(IF NULSTR(XFNTNAME[J]) THEN "F DEFONT" & CR
01400			 ELSE "F " & XFNTNAME[J] & CR) ;
01500		OUT(L,CMDFILE&ALTMODE)
01600		END
01700	ELSEC
01800	IFC SAILVER THENC
01900		IF ABS(DEVICE)=XGP THEN
02000			OUT(L,CMDFILE&(IF SIMLOOK("!XGPCOMMANDS") THEN
02100				EVALV("!XGPCOMMANDS", SYMIX, SYMTYPE) ELSE NULL)
02200				& ALTMODE)
02300	ELSEC
02400	IFC ITSVER THENC PJ 8/24/74 ;
02500		IF XCRIBL THEN
02600		    BEGIN "WRITECMD"
02700		    STRING CMDLINE; INTEGER BRC;
02800		    IF SIMLOOK("!XGPCOMMANDS") THEN
02900			BEGIN
03000			CMDLINE←EVALV("!XGPCOMMANDS",SYMIX,SYMTYPE);
03100			SETBREAK(LOCAL_TABLE," SWAP ",NULL,"IS");
03200			DO OUT(L,SCAN(CMDLINE,LOCAL_TABLE,BRC)&CRLF) UNTIL BRC NEQ "↔";
03300			SETBREAK(LOCAL_TABLE,NULL,NULL,"IS");
03400			END;
03500		    OUT(L,CMDFILE&ALTMODE);
03600		    END "WRITECMD"
03700	ELSEC
03800	IF FALSE THEN BEGIN END
03900	ENDC ENDC ENDC
04000	ELSE OUT(L, ALTMODE) ;
04100	OUT(L, VUNDERLINE & ALTMODE) ; TES 10/22/73 ;
04200	OUT(L,CVSR(CHARW));
04300	OUT(L, CVSR(IF NEEDMILLVERTI THEN -MILLVERTI ELSE MILLVERTI)) ;
04350		TES 11/2/74 NORMAL INTER-LINE SPACING ;
04400	OUT(L,CVSR(BASELINE));
04500	OUT(L,CVSR(DOPASS3));	RKJ:  1-4-74;
04600	OUT(L, CVSR(VBPI)&CVSR(HBPI)&CVSR(MINLFTMAR)) ;
04700	OUT(L,LF);
04800	IFC TENEX THENC COMMENT PASS2 COMMUNICATION FILE ;
04900	J←OPENFILE(JOBNO&".PASS2","WT") ;
05000	OUT(J, IFILENAME & ALTMODE) ;
05100	RELEASE(J) ;
05200	ENDC
05300	J ← PORSEQ(PORTLL) ;
05400	IFC NOT TENEX THENC OPEN(K ← GETCHAN, "DSK", 0,1,0,20, BRC, EOF) ; ENDC
05500	WHILE J > 0 DO
05600		BEGIN
05700		M← PORSTR(J) ; TES 3/20/74 ;
05800		IF FULSTR(PORINT(M)) THEN OUT(L, PORINT(M) & ALTMODE) ;
05900		IF PORCH(J) = -5 OR PORSEQ(J) < 0 THEN WARN("=","INSERT PORTION not found") ;
06000		IF FULSTR(PORFIL(M)) THEN
06100		    FOR N←0,1 DO IF N=0 OR PORCH(J)=-6 THEN
06200			BEGIN COMMENT DELETE GENERATED FILES ;
06300			IFC TENEX THENC
06400			    K ← OPENFILE(IFILENAME&(CASE N OF (GENEXT,ALFEXT))&PORFIL(M)&";*", "RO*") ;
06500			    DO DELF(K) UNTIL NOT INDEXFILE(K) ;
06600			ELSEC
06700			    LOOKUP(K, PORFIL(M) & (CASE N OF(PUGEXT,PUZEXT)), DUMMY) ;
06800			    RENAME(K, NULL, 0, DUMMY) ;
06900			ENDC
07000			END ;
07100		J ← PORSEQ(J) ;
07200		END ;
07300	RELEASE(L) ; RELEASE(K) ;
07400	END "INTERMEDIATEFILES" ;
     

00100	PUBLIC PROCEDURE RUNPASS2 ;$"#
00200	BEGIN "RUNPASS2"
00800	IFC TENEX THENC   TES 10/25/73 ;
00900		BEGIN "PASS 2"
01000		IF (EQU(CONDIR,"PUB") OR EQU(CONDIR,"TESLER")) AND (J←GTJFN("PUB2.SAV",0))>-1 THEN
01100			BEGIN
01200			RLJFN(J) ;
01300			RUNPRG("PUB2.SAV",1,0) ;
01400			END
01500		ELSE RUNPRG("<SUBSYS>PUB2.SAV",1,0) ;
01600		END "PASS 2"
01700	ENDC
01800	IFC CMUVER THENC
01900		BEGIN "PASS 2"	TES 10/8/74 CHANGED TO CALL RUNLIBPROG ;
02000		STRING S;
02100		S←CVXSTR(CALL('777777000003,"GETTAB"))&"2";
02200		SETBREAK(1,NULL," ","IS");
02300		RUNLIBPROG(SCAN(S,1,DUMMY)); RKJ: 28-SEP-74 NEW CALLING SEQUENCE ;
02350		START!CODE CALLI 0,'12 END ;
02400		END "PASS 2"
02500	ENDC
02600	IFC SAILVER OR ITSVER THENC
02700		BEGIN "PASS 2"
02800		IFC SAILVER
02900		    THENC DEFINE PUB2!DMP=["PUB2.DMP"];
03000		    ELSEC DEFINE PUB2!DMP=["TS PUB2"]; ENDC PJ 5/27/74 ;
03100		INTEGER SIMPLE PROCEDURE CORELOC(INTEGER ARRAY A) ; START!CODE MOVE 1,A ; END ;
03200		
03300		INTEGER ARRAY SECONDPASS[0:4] ;
03400		EXTERNAL SIMPLE PROCEDURE K!OUT ; K!OUT ; COMMENT * * * * * * * * * * * ;
03500		SECONDPASS[0] ← CVSIX("DSK") ; SECONDPASS[1] ← CVFIL(PUB2!DMP&LIBPPN, SECONDPASS[2], SECONDPASS[4]) ;
03600		SECONDPASS[3] ← 1 ; COMMENT Do an RPGSTART so DEVICE will be taken from PUI file ;
03700		CALL(CORELOC(SECONDPASS), "SWAP") ;
03800		END "PASS 2" 
03900	ENDC
04000	END "RUNPASS2" ;
     

00100	FINISHED
00200	
00300	ENDOF("RUNP2")